ghz grpc 压力测试使用 |
您所在的位置:网站首页 › grpc python 源码 › ghz grpc 压力测试使用 |
grpc压力测试 通过ghz来对grpc接口进行压力测. ghz是通过golang开发的针对grpc的压测工具,ghz基于proto或者protoset来发起grpc调用,类似常规的测试(ABtest),可以指定并发量,请求总数,请求频率。 并且能够输出html,csv,json,prometheus等让我们更加直观的看到接口接口性能情况. 链接官方文档 github windows安装以及踩坑用下载好的zip也可以去 下载地址 不同的版本,我目前只在windows上使用. 使用protocghz可以通过proto文件也可以通过protoset调用grpc服务. 我个人推荐使用protoset,因为提前使用protoc编译好了的protoset文件可以让ghz调用不用考虑到proto文件的一些引用问题. protoc --include_imports -I . --descriptor_set_out=bundle.protoset *.proto注意使用 –include_imports 不然很多依赖的proto不会编译进来 之后我们就可以使用ghz 解压配置并且配置环境变量
简单的调用 ghz --insecure --protoset bundle.protoset --call Service.method 127.0.0.1:7999常用指令 --skipFirst grpc最好第一个跳过,因为比较慢 --insecure 使用文本和非安全的连接 -r|--rps=0 rps的速率限制,默认没有限制 -c|--concurrency 指定并发数量 默认50 -n| --total 一共请求的数量 默认200 -d|--data 通过json的方式发送请求报文 -D|--data-file 指定json文件调用数据 -o|--output 输出路径 -O|--format 输出的格式 summary, csv, json, pretty, html, influx-summary, influx-details 调用相关: --protoset 指定protoset文件 -i | --import-paths 指定proto文件的路径(用protoset不需要使用) --call 指点调用的方法(package.Service/Method' 或者 'package.Service.Method' )输出结果 count - 包含成功和失败的全部请求数量.total - 从开始到结束的全部时间.slowest - 最慢的请求fastest - 最快的请求average - 平均请求数量requests/sec - rps通过-O 输出html等 ghz --insecure -o test.html -O html --protoset bundle.protoset --call Service.method 127.0.0.1:7999 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |